layui.use(['table','form','upload','laydate'], function() {
    var table = layui.table
        , form = layui.form
        , upload = layui.upload
        , laydate = layui.laydate;
    var $ = layui.jquery;
    $(function () {
        getOption();
    })
    //动态下拉框
    function getOption() {
        $.ajax({
            type:'post',
            url: '/Ticket/trainNumInfo/getCarId',
            dataType:'json',
            success: function (res) {
                if (res.code==0) {
                    var data=eval(res.data);
                    for (var i = 0; i < data.length; i++) {
                        $("#carId").append("<option value=\"" + data[i].carId + "\">" + data[i].carName + "</option>");
                    }
                    //重新渲染
                    layui.form.render("select");
                } else {
                    layer.msg(res.msg);
                }
            }
        });
    }
    //执行一个 table 实例
    table.render({
        elem: '#trainNum',
        height: 580,
        url: '/Ticket/trainNumInfo/getAllTrainNums', //数据接口
        title: '车次表',
        page: true ,//开启分页
        toolbar: '#barbtn', //开启工具栏，此处显示默认图标，可以自定义模板，详见文档
        limits:[10,20,30,40],
        cols:
            [[ //表头
                { type: 'checkbox',fixed: 'left'},
                { field: 'id',title: 'ID',width: 120,sort: true,fixed: 'left'},
                { field: 'carId',title: '车辆'},
                { field: 'starTime',title: '出发时间',
                    templet:function (d) {
                        var time=d.starTime;
                        return formatDate(time);
                }},
                { field: 'starSite',title: '出发地点',edit: 'text'},
                { field: 'endTime',title: '到达时间',
                    templet:function (d) {
                        var time=d.endTime;
                        return formatDate(time);
                }},
                { field: 'endSite',title: '到达地点',edit: 'text'},
                { field: 'range',title: '里程',edit: 'text'},
                { field: 'money',title: '价格',edit: 'text'},
                { field: 'remark',title: '备注', edit: 'text'},
                { fixed: 'right', width: 100, align:'center', toolbar: '#barDemo'}
            ]]
    });
    //日期时间选择器
    laydate.render({
        elem: '#starTime'
        ,type: 'datetime'
    });
    laydate.render({
        elem: '#endTime'
        ,type: 'datetime'
    });
    //监听行工具事件
    table.on('tool(trainNumtest)',function (obj) {
        var data=obj.data;
        var layEvent=obj.event;
        if(layEvent=="delete")
        {
            layer.confirm('真的删除行么',function (index) {
                $.ajax({
                    type:'get',
                    url:'/Ticket/trainNumInfo/del?id='+data.id,
                    dataType:'json',
                    success:function (res) {
                        if (res.code==0)
                        {
                            obj.del();
                            layer.msg("删除成功")
                        }
                        else {
                            layer.msg("删除失败");
                        }
                    }
                })
                layer.close(index);
            })
        }
    });
    //监听头工具栏事件
    table.on('toolbar(trainNumtest)', function(obj){
        var checkStatus = table.checkStatus(obj.config.id)//复选框数据
            ,data = checkStatus.data; //获取选中的数据 数组
        var arry=new Array();
        for(var i in data)
        {
            arry[i]=data[i].id;//取出id到列表
        }
        switch(obj.event){
            case 'add':
                layer.open({
                    type:2,
                    title:'新增车次',
                    area: ['35%','100%'],
                    content:'addTrainNum.html'
                });
                break;
            case 'update':
                break;
            case 'delete':
                if(data.length === 0){
                    layer.msg('请至少选择一行');
                }
                else
                {
                    //提示框
                    //用户信息删除
                    layer.confirm("确定删除吗？",function () {
                        $.ajax({
                            type:'post',
                            url:'/Ticket/trainNumInfo/delete',
                            dataType: 'json',
                            data:{
                                'ids':arry
                            },
                            traditional:true,//声明上传数据为数组
                            success:function (res) {
                                if(res.code==0)
                                {
                                    layer.msg("删除成功");
                                    $(".layui-laypage-btn").click();//刷新表格
                                    // table.reload("video",{})
                                }
                                else
                                {
                                    layer.msg("删除失败");
                                }
                            }
                        })
                        layer.close(index);
                    })
                }
                break;
        };
    });
    //表单提交
    form.on('submit(submit)', function(data){
        var starTime= $('#starTime').val();
        var endTime=$('#endTime').val();
        if(starTime<endTime)
        {
            var starData=new Date(data.field.starTime);//将字符串转换为time
            var endData=new Date(data.field.endTime);
            data.field.starTime=starData;
            data.field.endTime=endData;
            $.ajax({
                type:'post',
                url:'/Ticket/trainNumInfo/add',
                dataType:'json',
                // data: {'carId':data.field.carId,'starTime':data.field.starTime,'endTime':data.field.endTime,'starSite':data.field.starSite,
                // 'endSite':data.field.endSite,'rearmks':data.field.rearmks},
                data:data.field,
                success:function (res) {
                    if(res.code==0)
                    {
                        layer.msg(res.msg);
                        var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                        parent.layer.close(index); //再执行关闭
                        window.parent.location.reload();//新增成功后刷新父界面
                    }
                    else layer.msg(res.msg);
                }
            });
        }
        else
        {
            layer.msg("到达时间必须迟于出发时间!请重新选择");
        }
        return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
    });
    //监听单元格编辑
    table.on('edit(trainNumtest)', function(obj){
        var value = obj.value //得到修改后的值
            ,data = obj.data //得到所在行所有键值
            ,field = obj.field; //得到字段
        $.ajax({
            type:"post",
            url:"/Ticket/trainNumInfo/update",
            dataType:"json",
            data:{
                'id':data.id,'value':value,'field':field
            },
            success:function (res) {
                if(res.code==0)
                {
                    layer.msg(res.msg);
                    table.reload('video',{})//表格重载
                }
                else {layer.msg(res.msg);}
            }
        })
    });
    $('#search').click(function () {
        var type= $('#searchType').val();
        if (type==null)
        {
            table.reload('trainNum', {
                url:'/Ticket/trainNumInfo/selectByLike',
                where: { //设定异步数据接口的额外参数，任意设
                    "value":$('#demoReload').val(),'type':3
                }
                ,page: {
                    curr: 1 //重新从第 1 页开始
                }
            }); //只重载数据
        }
        else
        {
            table.reload('trainNum', {
                url:'/Ticket/trainNumInfo/selectByLike',
                where: { //设定异步数据接口的额外参数，任意设
                    "value":$('#demoReload').val(),'type':type
                }
                ,page: {
                    curr: 1 //重新从第 1 页开始
                }
            }); //只重载数
        }
    });
    //初始化时间选择框
    //日期范围选择
    laydate.render({
        elem: '#searchTime'
        ,range: '~' // range: '~' 来自定义分割字符
    });
    $('#searchData').click(function () {
        table.reload('trainNum', {
            url:'/Ticket/trainNumInfo/selectByTime',
            where: { //设定异步数据接口的额外参数，任意设
                'time':$('#searchTime').val()
            }
            ,page: {
                curr: 1 //重新从第 1 页开始
            }
        }); //只重载数据
    });
});
//时间戳转换为日期格式
function formatDate(time) {
    var now = new Date(time);
    var year=now.getFullYear();  //取得4位数的年份
    var month=now.getMonth()+1;  //取得日期中的月份，其中0表示1月，11表示12月
    var date=now.getDate();      //返回日期月份中的天数（1到31）
    var hour=now.getHours();     //返回日期中的小时数（0到23）
    var minute=now.getMinutes(); //返回日期中的分钟数（0到59）
    var second=now.getSeconds(); //返回日期中的秒数（0到59）
    return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;
}
